package com.techsoul.common.core.pojo.param;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.io.Serializable;

/**
 * SearchParam基类
 *
 * @author liuen
 */
@Data
public class BaseSearchParam implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 关键字
     */
    private String keyword;

    /**
     * 排序-属性
     */
    private String sortProperty;

    /**
     * 排序-数据库字段
     */
    private String sortColumn;

    /**
     * 排序-方向
     */
    private String sortDirection;

    /**
     * 开始时间
     */
    @JSONField(serialize = false)
    private String createTimeBegin;

    /**
     * 结束时间
     */
    @JSONField(serialize = false)
    private String createTimeEnd;

    /**
     * 数据权限
     */
    private String dataScope;

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
    }

}
